package com.app.brilliant.game.service;

import com.app.brilliant.common.service.BaseService;
import com.app.brilliant.game.bean.BriUserPlan;
import com.app.brilliant.game.dto.UserPlanInfoDTO;

import java.util.List;

/**
* @author GF
* @description 针对表【bri_user_plan】的数据库操作Service
* @createDate 2025-08-27 16:12:02
*/
public interface BriUserPlanService extends BaseService<BriUserPlan> {
    
    /**
     * 查询用户最新已付费套餐的名称和保持天数
     * @param uid 用户ID
     * @return 套餐名称和保持天数
     */
    UserPlanInfoDTO getLatestPaidPlanInfo(Integer uid);



    /**
     * 为注册用户添加默认计划
     * @param uid 用户ID
     * @throws RuntimeException 如果未找到默认计划
     */
    void addDefaultPlanForUser(Integer uid) throws RuntimeException;

    /**
     * 根据用户ID查询用户订阅计划
     * @param userId 用户ID
     * @return 用户订阅计划实体
     */
    BriUserPlan getByUserId(Long userId);
}
